package  lz.controls.events
{

import flash.display.InteractiveObject;
import flash.events.Event;

/**
 * 代表单击导航器栏（如 ButtonBar、LinkBar 或 TabBar 控件）上的导航项目时调度的事件。
 */
public class ItemClickEvent extends Event
{
	
	/**
	 * ItemClickEvent.ITEM_CLICK 常量可为 itemClick 事件定义事件对象的 type 属性值。
	 */
	public static const ITEM_CLICK:String = "itemClick";
	/**
	 * 构造函数。
	 * 参数
	 * type:String — 事件类型；指示引发事件的动作。
	 * bubbles:Boolean (default = false) — 指定该事件是否可以在显示列表层次结构得到冒泡处理。
	 * cancelable:Boolean (default = false) — 指定是否可以防止与事件相关联的行为。
	 * label:String (default = null) — 关联的导航项目的标签。
	 * index:int (default = -1) — 关联的导航项目的索引。
	 * relatedObject:InteractiveObject (default = null) — 生成事件的子对象。
	 * item:Object (default = null) — 关联的导航项目的数据提供程序中的项目。
	 */
	public function ItemClickEvent(type:String, bubbles:Boolean = false,
								   cancelable:Boolean = false,
								   label:String = null, index:int = -1,
								   relatedObject:InteractiveObject = null,
								   item:Object = null)
	{
		super(type, bubbles, cancelable);

		this.label = label;
		this.index = index;
		this.relatedObject = relatedObject;
		this.item = item;
	}
	/**
	 *  关联的导航项目的索引。
	 */
	public var index:int;
	/**
	 *  关联的导航项目的数据提供程序中的项目。
	 */
	public var item:Object;
	/**
	 *  关联的导航项目的标签。
	 */
	public var label:String;
	/**
	 *  生成事件的子对象；例如，用户在 ButtonBar 控件中单击的按钮。
	 */
	public var relatedObject:InteractiveObject;
	/**
	 *  @private
	 */
	override public function clone():Event
	{
		return new ItemClickEvent(type, bubbles, cancelable,
								  label, index, relatedObject, item);
	}
}

}
